// 本文件依赖Element PLUS MessageBox   模拟系统的消息提示框而实现的一套模态对话框组件，
// 用于消息提示、确认消息和提交内容。
// https://element-plus.org/zh-CN/guide/installation.html

import { ElMessageBox } from 'element-plus'

export const handleNetworkError = (errStatus) => {
  const networkErrMap = {
    400: '错误的请求', // token 失效
    401: '未授权，请重新登录',
    403: '拒绝访问',
    404: '请求错误，未找到该资源',
    405: '请求方法未允许',
    408: '请求超时',
    500: '服务器端出错',
    501: '网络未实现',
    502: '网络错误',
    503: '服务不可用',
    504: '网络超时',
    505: 'http版本不支持该请求'
  }
  if (errStatus) {
    const html = networkErrMap[errStatus] ?? `其他连接错误 --${errStatus}`
    ElMessageBox.alert(`<strong> ${html}   </strong>`, '系统提醒', {
      dangerouslyUseHTMLString: true
    })
    return
  }

  ElMessageBox.alert(`<strong>   无法连接到服务器！  </strong>`, '系统提醒', {
    dangerouslyUseHTMLString: true
  })
}

export const handleConfigureUserInfo = (config) => {
  const json = sessionStorage.getItem('user') || ''
  config.headers['UserInfo'] = json
  return config
}

export const handleConfigureAuth = (config) => {
  //   instance.defaults.headers.common['Authorization'] = AUTH_TOKEN
  const token = sessionStorage.getItem('token') || ''
  config.headers['Authorization'] = token
  return config
}

export const handleGeneralError = (data) => {
  ElMessageBox.alert(`<strong>  ${data.msg}  </strong>`, '系统提醒', {
    dangerouslyUseHTMLString: true
  })
  return null
}
